查看原文
其他

“水泊梁山“互联网有限公司一百单八将内部社交网络

数据森麟 Python爱好者社区 2019-04-07

作者:徐麟,目前就职于上海唯品会产品技术中心,哥大统计数据狗,从事数据挖掘&分析工作,喜欢用R&Python玩一些不一样的数据

个人公众号:数据森麟(ID:shujusenlin),知乎同名专栏作者。


前言:


最近看到了一些社交网络分析的文章,对此产生了兴趣,也开始进行相关的学习。本次文章我们将水浒传这一名著与互联网公司组织架构相结合,用Python+Gephi完成本次的分析,让大家能够以一种不同的视角了解社交网络以及社群发现。



PART1:获得数据


由108位精兵强将组成的水泊梁山互联网有限公司内部高效运转,经营包括酒店、武馆、寺庙等多项产业,我们今天来探秘公司内部员工的社交网络。


作为上市公司,财报需要定期对公众披露,所以此次数据无需爬虫获得,直接可以从最新“财报“《水浒传》中获得,我们从中获取员工的有效信息,以CEO宋江为例。

with open("水浒传全文.txt", encoding='gb18030') as file:    shuihu = file.read() shuihu = shuihu.replace('\n','') shuihu_set = shuihu.split(' ') shuihu_set=[k for k in shuihu_set if k!=''] songjiang_set=[k for k in shuihu_set if '宋江' in k] haohan = pd.read_excel('水浒人物.xlsx') haohan['出场段落']=0

PART2:员工收入情况


作为能够长期运作的互联网公司,在员工收入分配方面始终员工KPI(出场段落数量)相挂钩,我们来看一下年薪TOP10和BOTTOM10

看来水泊梁山大家的年收入差距两头分化比较严重,比较符合目前互联网公司发展趋势,杜绝“吃大锅饭”的发展思路,代码如下:

haohan.sort_values('出场段落',ascending=False,inplace=True) attr = haohan['姓名'][0:10] v1 = haohan['出场段落'][0:10] bar = Bar("水泊梁山年收入TOP10") bar.add("年收入(万)", attr, v1, is_stack=True,is_label_show=True) bar.render('水泊梁山年收入TOP10.html') haohan.sort_values('出场段落',ascending=True,inplace=True) attr = haohan['姓名'][0:10] v1 = haohan['出场段落'][0:10] bar = Bar("水泊梁山年收入BOTTOM10") bar.add("年收入(万)", attr, v1, is_stack=True,is_label_show=True) bar.render('水泊梁山年收入BOTTOM10.html')

PART3:员工社交网络


我们调取了员工的聊天记录(同时出现的段落),每出现一次聊天记录,我们将员工之间的关联权重加一,统计代码如下:

net_df = pd.DataFrame(columns=['Source','Target','Weight','Source_Ratio','Target_Ratio']) for i in range(0,107):    for j in range(i+1,108):        this_weight = len([k for k in shuihu_set if haohan['使用名'][i] in k and haohan['使用名'][j] in k])        net_df=net_df.append({'Source':haohan['姓名'][i],'Target':haohan['姓名'][j],                              'Weight':this_weight,                              'Source_Ratio':this_weight/haohan['出场段落'][i],                              'Target_Ratio':this_weight/haohan['出场段落'][j]},                              ignore_index=True)        print(str(i)+':'+str(j))

我们在去除一些社交网络节点数据(聊天总数较少或聊天数量占一方数量比例过少)的情况后,用Gephi软件绘制出了整体的社交网络图如下:

可以看出的社交网络是围绕着总裁宋江展开,其他的一些总裁办成员如吴用、李逵等也在社交网络中占据重要位置。林冲、鲁智深、李俊等高级领导则起到连接高层与基层员工的作用。值得一提的是副总裁卢俊义虽然职级很高,但是在公司的话语权似乎不是强,毕竟卢俊义也是作为空降兵来到的公司。


PART4:员工社区发现


Gephi软件自带社区发现函数,我们实现后用不同颜色划分出不同的社群,整体效果如下:


我们下面逐一来看一下各个社区的成员,首先是CEO宋江、CTO吴用等人所在的总裁办:

下面来看一下花荣、林冲等日常工作与代马(码)这件事情息息相关的开发组:

之后是由鲁智深、孙二娘等人组成的数据组,需要日常分析梁山酒店等产业运营状况:

产品、运营团队则分别由精通水性,能够协调好各个部门的李俊和执行力极强,善于推动项目进行的李逵带领:

最后看一下一些人数较少的社群:

这些社群基本上都是由夫妻、亲兄弟、铁哥们组成,具有很强的亲密度,水泊梁山的HR在招人时显然是考虑了这点。通过招聘具有亲密关系的应聘者,提高员工工作幸福感,有效降低离职率。

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

小编的Python入门免费视频课程!!!

【最新免费微课】小编的Python快速上手matplotlib可视化库!!!

崔老师爬虫实战案例免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存